In global navigation satellite systems (GNSS) (e.g. GPS and GALILEO), signals are broadcast from satellites using code division multiple access (CDMA) where a signal from each satellite is identified by a unique pseudorandom code (spreading code). At the receiver the overlapping signals from all satellites are processed to determine receiver position. The processing involves first searching for the presence of a signal and estimation of its frequency offset and code offset relative to a reference clock (acquisition) and then refining the estimates, demodulating the received data and determining the position (tracking) Both acquisition and tracking involve correlating received signals with a locally generated version of the pseudo random codes over an integration period.
In spread spectrum systems, acquisition is difficult because it typically requires a search over two dimensions (frequency and time). It is further complicated in situations where signal to noise ratio is severely degraded,. e.g. due to limited sky visibility (indoors navigation) or due to presence of strong interferences. In some cases the equivalent degradation of desired signal is up to 20dB.
The search grid density in the two dimensional search process is given by spreading code length and integration period. Resolution in the time domain is typically 0.5 chip period of the spreading sequence and in frequency domain 0.5 pre-correlation bandwidth, where pre-correlation bandwidth is inversely proportional to integration period. For example, GPS CIA signal uses 1 ms long spreading codes generated at 1.023 MHz (1023 chips per period). With integration time of 1 ms (i.e. 1 kHz pre-correlation bandwidth) and ±5 kHz frequency uncertainty the typical number of bins is 20 in frequency domain and 2046 in time domain, i.e. more than 40,000 cells in total. For outdoors, evaluation of each cell takes one millisecond and for indoors, each cell would take 100 milliseconds because of the weaker signal strength. This results in a search time of 40 seconds for outdoors or 4000 seconds for indoors, on a single correlator.
This problem traditionally is addressed by processing in the frequency domain, often based on Fast Fourier Transform, or by using parallelism in the time domain employing (often massive) bank of correlators. Such approaches, however, pose extra requirements on the hardware in terms of speed and/or hardware complexity which results in higher cost and power consumption.
Detection of weak signals is limited by factors like reference clock stability and system dynamic properties (maximum speed, acceleration). In optimal approach the weaker the signal that needs to be detected, the longer the coherent integration time should be used. On the other hand, as the coherent integration time increases, the pre-detection bandwidth decreases. Therefore, a finer search resolution over frequency is required and the clock stability requirements are more stringent.
Some sub-optimal methods can be used to detect weak signals while keeping the requirements on search resolution and clocks stability reasonably low. The classical approach is to use limited coherent integration time and noncoherently sum the results of many subsequent coherent integrations. Here the term “noncoherent sum” typically stands for sum of amplitudes. This invention describes alternative suboptimal method that can bring benefits in terms of acquisition times and hardware resources.